package com.hospital.service;

import com.hospital.domain.pojo.AdmissionApplication;
import com.hospital.domain.utils.Result;

import java.util.List;

public interface AdmissionApplicationService {
    
    Result<String> submitApplication(AdmissionApplication application);
    
    Result<List<AdmissionApplication>> getPatientApplications(Integer pId);
    
    Result<List<AdmissionApplication>> getPendingApplications();
    
    Result<List<AdmissionApplication>> getDepartmentApplications(Integer depId, Integer state);
    
    // 根据医生ID查询申请
    Result<List<AdmissionApplication>> getDoctorApplications(Integer dId);
    Result<List<AdmissionApplication>> getDoctorApplicationsByState(Integer dId, Integer state);
    
    Result<String> approveApplication(Integer aId, Integer approveDoctor);
    
    Result<String> rejectApplication(Integer aId, Integer approveDoctor, String rejectReason);
    
    Result<AdmissionApplication> getApplicationById(Integer aId);
    
    Result<List<AdmissionApplication>> getAllApplications();
}
